package com.specter.serv.service;

import com.specter.sure.core.Permission;
import com.specter.sure.core.Authorized;

/**
 * 多途径用户认证服务接口
 * 
 * @author Liang.Wang
 * @version 2025-04-01
 */
public interface UserDetailService {

	/**
	 * 根据提交信息验证用户信息（图像、短信、语音等验证码）
	 * 
	 * @param userinfo 提交信息
	 * @return 是否通过
	 */
	public boolean validate(String userinfo);

	/**
	 * 根据提交信息注册绑定信息
	 * 
	 * @param userinfo 提交信息
	 * @return 用户信息
	 */
	public Authorized register(String userinfo);

	/**
	 * 根据提交信息加载用户信息
	 * 
	 * @param userinfo 提交信息
	 * @return 用户信息
	 */
	public Authorized userinfo(String userinfo);

	/**
	 * 根据提交信息加载权限信息
	 * 
	 * @param userinfo 提交信息
	 * @return 权限信息
	 */
	public Permission[] permission(String userinfo);

}
